﻿using System.Collections.Generic;
using eCommMongo.Core.Domain.Customers;
using eCommMongo.Core.Domain.Products;
using eCommMongo.Core.Domain.ShoppingCarts;

namespace eCommMongo.Service.ShoppingCarts
{
    public interface IShoppingCartService
    {
        void DeleteShoppingCartItem(ShoppingCartItem shoppingCartItem);

        IList<string> AddToCart(string customerId, ProductVariant productVariant,
           string selectedAttributes,
            int quantity);


        IList<string> UpdateShoppingCartItem(Customer customer, int shoppingCartItemId,
         int newQuantity, bool resetCheckoutData);

        IList<string> GetShoppingCartWarnings(IList<ShoppingCartItem> cart);
        IList<string> GetShoppingCartItemWarnings( ProductVariant productVariant, string attributesXml, int quantity);
        IList<ShoppingCartItem> GetShoppingCart(string customerId);
    }
}